Remote controls for consumer electronics devices have increased in complexity, to match the many inputs and options available to control devices, and in ubiquity as many consumer electronics devices come with or support remote controls.
The assignee of the present invention offers a unique remote control, sold under the Harmony™ brand, which provides for enhanced control of consumer electronics devices and, more importantly, systems of such devices. For example, a home theatre system typically includes a television, a DVD player, and a surround sound system. More advanced home theatre systems can further include room lighting control systems, environmental controls (HVAC) for the morn, motorized viewing screen (for projection televisions) and/or motorized window curtain systems.
Typically all of these devices can be controlled via remote controls supplied with the devices and, preferably, all of these devices can be controlled with a single remote which is sold with a database of the necessary commands for each device or which can learn the necessary commands from the OEM remote controls sold with the devices.
While such systems have gained wide popularity, performing an activity such as watching a DVD can require the user to select twenty, or more, commands to activate the necessary devices and configure them properly. For example, the television set must be turned on, commanded to use the input from the DVD player, the DVD player must he turned on and commanded to start playing the DVD, the surround sound system must be turned on and commanded to use the DVD player output as an input, etc even when the user has a single remote control which can generate all of the necessary command signals, it can be difficult and/or tedious to operate the remote control to output all of the necessary commands in the correct sequence.
Further, once the devices in the system have been properly configured for an activity, control of the system is often non-intuitive. For example, pressing the button on the remote control to increase the volume of the DVD being watched may result in the volume of the television set being incorrectly increased, rather than the volume of the surround sound system correctly being increased.
Prior art attempts to address this problem have employed programming collections of commands, typically referred to as “macros”, into the remote control. Once programmed, ideally the user can press a single button on the remote to, for example, torn on and configure the system to perform an activity such as watch a DVD movie as the remote will “play” the macro and transmit each of the recorded commands in turn.
While such macro systems can improve the usability of complex systems of consumer electronics devices, serious problems exist with such macro systems. One problem is that it can be difficult for many people to create the necessary macros as the macros can be quite complex and many consumers pay installation contractors to program an appropriate set of macros into their remotes.
A more serious problem is that such macro systems are “state-less” in that the macro is recorded based upon an assumption of the operating state of the devices to be controlled by the macro and deviations in any device from its assumed state can result in the failure of the macro to properly configure the system. For example, if a television set has a “toggle” type command for its power control (i.e., each time a POWER command is sent to the television, the television nulls OFF, if it is ON, or turns ON if it is OFF), then a macro to watch a DVD movie must include an assumption that the TV is in a given state, such as ON. If a macro is recorded to watch a DVD movie and the remote control assumes the TV is ON prior to execution of the macro, and if the TV is in fact OFF when the macro is executed, an inoperative result occurs as the remote will not transmit a POWER command to the TV and the TV will not be turned ON. In fact, this inoperative result typically cannot be corrected merely by turning the TV ON, because with the TV OFF when the macro executed, the TV will have ignored the other commands sent to it by the remote to, for example, change the input the TV is currently using to the input connected to the DVD player, etc.
This can result in ludicrous systems wherein the user must execute one macro to watch a DVD if their system is presently OFF and another macro to watch a DVD if their system is ON and presently configured to watch a television program and another macro to watch a DVD if their system is presently ON and configured to play a CD, etc. or other non-intuitive systems wherein the system must be returned to a predefined configuration before a macro is executed to configure the system for another activity.
To address these disadvantages and others, the above-mentioned Harmony™ remotes employ a state-based strategy to control devices and employ a web-based configuration method and system. The Harmony remotes store a representation of the current state of each device controlled by the remote and determine the commands which must be transmitted to each device to change the overall state of the system from one state (e.g., listen to CD) to another (e.g., watch a DVD).
The Harmony remotes employ an internet-based configuration method and system wherein the remote is connected, via the Internet, to a device database and a configuration compiler which, through an interactive web page dialog/process with the user, programs the remote to control the user's devices.
The Harmony remotes employ technologies described in U.S. Pat. No. 6,784,805; published U.S. Application 2005/0052423; published U.S. Application 2005/0030196; published U.S. Application 2002/0056084; and published U.S. Application 200/0045819, all to Harris et al., all assigned to the assignee of the present invention, and the contents of this patent and these published applications are incorporated herein by reference.
While the Harmony™ remotes offer many advantages over prior art remotes, it can be difficult to troubleshoot the configuration process and/or it can be difficult for a user to customize the operation and arrangement of their remote.
It is desired to have a system and method that can improve the ability to troubleshoot the configuration of a remote control and/or to adaptively configure the remote control to correspond more closely to how the remote is typically used.